deps(deps): bump the kotlin group across 1 directory with 2 updates#1002
deps(deps): bump the kotlin group across 1 directory with 2 updates#1002dependabot[bot] wants to merge 1 commit into
Conversation
Greptile SummaryThis dependabot PR bumps two Kotlin Gradle plugins in the root
Confidence Score: 4/5The plugin bumps themselves are straightforward, but companion ecosystem versions (KSP, Compose runtime compatibility) flagged in prior review threads remain unresolved and should be addressed before merging. The two Kotlin plugin version strings are the only change. The bump is mechanically correct, but the broader Kotlin ecosystem in this repo (KSP, stability semantics) has open compatibility concerns noted in earlier review rounds that this PR has not yet resolved. build.gradle.kts — the KSP plugin version and Compose stability implications discussed in prior review threads remain outstanding. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
subgraph root["build.gradle.kts (root)"]
KC["kotlin.plugin.compose\n2.3.21 → **2.4.0**"]
KS["kotlin.plugin.serialization\n2.3.21 → **2.4.0**"]
KSP["com.google.devtools.ksp\n2.3.6 ⚠️ (unchanged)"]
AGP["com.android.application\n9.1.0 (unchanged)"]
end
subgraph catalog["gradle/libs.versions.toml"]
KV["kotlin = 2.3.20\n(unused orphan entry)"]
SER["serialization = 1.11.0\n(runtime lib)"]
CMP["compose = 1.7.5\n(kotlinCompilerExtensionVersion)"]
end
KC -->|"compiler plugin"| APP["app/build.gradle.kts"]
KS -->|"compiler plugin"| APP
KSP -->|"annotation processor"| APP
AGP --> APP
KC -.->|"version mismatch ⚠️"| KSP
Reviews (2): Last reviewed commit: "deps(deps): bump the kotlin group across..." | Re-trigger Greptile |
| id("org.jetbrains.kotlin.plugin.compose") version "2.3.21" apply false | ||
| id("org.jetbrains.kotlin.plugin.compose") version "2.4.0" apply false | ||
| id("com.google.dagger.hilt.android") version "2.59.2" apply false | ||
| id("com.google.devtools.ksp") version "2.3.6" apply false |
There was a problem hiding this comment.
KSP version incompatible with Kotlin 2.4.0
com.google.devtools.ksp is pinned at 2.3.6, which targets an earlier Kotlin release. The official Kotlin documentation pairs Kotlin 2.4.0 with KSP 2.3.9. Running KSP 2.3.6 against the 2.4.0 compiler plugins will cause a version-mismatch error at build time (KSP validates the Kotlin compiler version it was built against). This PR should also bump KSP to 2.3.9.
Prompt To Fix With AI
This is a comment left during a code review.
Path: build.gradle.kts
Line: 7
Comment:
**KSP version incompatible with Kotlin 2.4.0**
`com.google.devtools.ksp` is pinned at `2.3.6`, which targets an earlier Kotlin release. The official Kotlin documentation pairs Kotlin 2.4.0 with KSP `2.3.9`. Running KSP 2.3.6 against the 2.4.0 compiler plugins will cause a version-mismatch error at build time (KSP validates the Kotlin compiler version it was built against). This PR should also bump KSP to `2.3.9`.
How can I resolve this? If you propose a fix, please make it concise.| id("com.android.application") version "9.1.0" apply false | ||
| id("com.android.library") version "9.1.0" apply false | ||
| id("org.jetbrains.kotlin.plugin.compose") version "2.3.21" apply false | ||
| id("org.jetbrains.kotlin.plugin.compose") version "2.4.0" apply false |
There was a problem hiding this comment.
Compose compiler stability default changed in 2.4.0
The Kotlin 2.4.0 changelog (commit ef14611) changes the default stability of non-final classes from Stable to Unknown. Any non-final class used as a @Composable parameter that was previously treated as stable will now be treated as unstable, potentially triggering additional recompositions at runtime. Review Composable call sites that accept non-final types (e.g., interfaces, open classes) and add explicit @Stable / @Immutable annotations or ensure classes are data class / final where stability is required.
Prompt To Fix With AI
This is a comment left during a code review.
Path: build.gradle.kts
Line: 5
Comment:
**Compose compiler stability default changed in 2.4.0**
The Kotlin 2.4.0 changelog (commit `ef14611`) changes the default stability of non-final classes from `Stable` to `Unknown`. Any non-final class used as a `@Composable` parameter that was previously treated as stable will now be treated as unstable, potentially triggering additional recompositions at runtime. Review Composable call sites that accept non-final types (e.g., interfaces, open classes) and add explicit `@Stable` / `@Immutable` annotations or ensure classes are `data class` / `final` where stability is required.
How can I resolve this? If you propose a fix, please make it concise.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Bumps the kotlin group with 2 updates in the / directory: [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) and [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin). Updates `org.jetbrains.kotlin.plugin.compose` from 2.3.21 to 2.4.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](JetBrains/kotlin@v2.3.21...v2.4.0) Updates `org.jetbrains.kotlin.plugin.serialization` from 2.3.21 to 2.4.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](JetBrains/kotlin@v2.3.21...v2.4.0) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin.plugin.compose dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: kotlin - dependency-name: org.jetbrains.kotlin.plugin.serialization dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: kotlin ... Signed-off-by: dependabot[bot] <support@github.com>
08dc9cb to
6b913c1
Compare
Bumps the kotlin group with 2 updates in the / directory: org.jetbrains.kotlin.plugin.compose and org.jetbrains.kotlin.plugin.serialization.
Updates
org.jetbrains.kotlin.plugin.composefrom 2.3.21 to 2.4.0Release notes
Sourced from org.jetbrains.kotlin.plugin.compose's releases.
... (truncated)
Changelog
Sourced from org.jetbrains.kotlin.plugin.compose's changelog.
... (truncated)
Commits
add726cAdd ChangeLog for 2.4.0-RC269a4a81[Wasm] Add binaryen per-file arguments8907c63[KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...f9bef12[KGP] Add failing test for duplicate compiler warning output via Problems API7fe49c2KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs13d25e2KT-86268: Regression test addedf7d1a76[JKlib] Fix JAR deserializer configuration.5cec663[JKlib] Wire up JvmBuiltInClassDescriptorFactoryef14611Make the default stability of non-final classesUnknowninstead ofStabled76473a[Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failuresUpdates
org.jetbrains.kotlin.plugin.serializationfrom 2.3.21 to 2.4.0Release notes
Sourced from org.jetbrains.kotlin.plugin.serialization's releases.
... (truncated)
Changelog
Sourced from org.jetbrains.kotlin.plugin.serialization's changelog.
... (truncated)
Commits
add726cAdd ChangeLog for 2.4.0-RC269a4a81[Wasm] Add binaryen per-file arguments8907c63[KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...f9bef12[KGP] Add failing test for duplicate compiler warning output via Problems API7fe49c2KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs13d25e2KT-86268: Regression test addedf7d1a76[JKlib] Fix JAR deserializer configuration.5cec663[JKlib] Wire up JvmBuiltInClassDescriptorFactoryef14611Make the default stability of non-final classesUnknowninstead ofStabled76473a[Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures